home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
f2c
/
may_5_92.lha
/
f2c.VMay_5_1992
/
libI77
/
uio.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-07
|
937b
|
42 lines
#include "f2c.h"
#include "fio.h"
uiolen reclen;
do_us(number,ptr,len) ftnint *number; ftnlen len; char *ptr;
{
if(reading)
{
recpos += *number * len;
if(recpos>reclen)
err(elist->ciend, 110, "do_us");
if (fread(ptr,(int)len,(int)(*number),cf) != *number)
err(elist->ciend, EOF, "do_us");
return(0);
}
else
{
reclen += *number * len;
(void) fwrite(ptr,(int)len,(int)(*number),cf);
return(0);
}
}
integer do_uio(number,ptr,len) ftnint *number; ftnlen len; char *ptr;
{
if(sequential)
return(do_us(number,ptr,len));
else return(do_ud(number,ptr,len));
}
do_ud(number,ptr,len) ftnint *number; ftnlen len; char *ptr;
{
recpos += *number * len;
if(recpos > curunit->url && curunit->url!=1)
err(elist->cierr,110,"do_ud");
if(reading)
{
if(fread(ptr,(int)len,(int)(*number),cf) != *number)
err(elist->cierr,EOF,"do_ud")
else return(0);
}
(void) fwrite(ptr,(int)len,(int)(*number),cf);
return(0);
}